# x = 2
#
#
# def func():
#     x = 3   # 局部变量    内存就已经被销毁了
#     # print(x)
#
#     # 返回出来
#     return x
#
# result = func()
# print(result)
# print(x)
# # 来猜一猜他的运行结果    3 2
# # 32 32 3 23
#
# # x = 1  # 全局变量
# # def fun1():
# #     y = 2
# #     print(y)
# #     print(x)
# # fun1()
# #
# # print(x)
# # print(y)


# y = 10
#
#
# def func():
#     global y    # 声明y为全局变量
#     y = 5      # 变成为了一个全局变量
#     print('y1 =', y)
#
#
# func()
#
# print('y2 =', y)

# E(enclosing)：嵌套的父级函数的局部作用域
# def mytest1():
#     b = 6   # 局部变量    相对而言 我们的b是函数mytest2的全局变量
#     def mytest2():
#         #
#         nonlocal b  # nonlocal 关键字用于在嵌套函数内部使用变量 了解即可 用的时候比较少
#         b = 7  # 重新开辟了内存空间  注释掉直接打印b
#         print(b, id(b))
#
#     mytest2()
#     print(b, id(b))


# mytest1()
# 76 77 7

# x = max(1, 6)  # max为系统变量，它的作用域为python的所有模块
# print(x)
# y = 1  # y为全局变量，它的作用域为当前模块
# print(y)
#
# def outer():
#     i = 3  # i的作用域为当前函数，包括嵌套函数
#     def inner():
#         count = 2  # count为局部变量，作用域只在当前函数有效

# x = 2  # 先被创建
#
# def fun1():
#     # x = 3
#     print(x)
#
#
# fun1()
# print(x)
"""
函数的作用域 

全局变量(单个文件)与局部变量(单个函数中的变量)
作用域的优先级与四种作用域的范围  
局部变量>嵌套父级变量>全局变量>内建(系统)变量



"""
# li = [1,2,3,4,5]
#
# def asd():
#     global li
#     li = [1,2,3,4,5,5,6,7,8]
#
#     return li
#
# li = asd()
#
# print(li)

"""
函数  方法  

本质上都叫是函数  都是一个已经实现好的具体的功能   
xxx() 函数  
xxx.yyy()   方法  

class people:
    pass
    def asd(self):  # 方法  
        pass

huge = people()  
huge.asd()

"""
print()
len('asdas')
# id()  看内存地址
# import requests
# requests.get()


